SUGI 28: Beyond Debugging: Program Validation

نویسندگان

  • Neil Howard
  • Raymond Kennington
چکیده

"Act in haste and repent at leisure; code too soon, and debug forever." Raymond Kennington In their paper on debugging, Lora Delwiche and Susan Slaughter say that good debuggers make good programmers. Let's take that one step further to say that good analysts and problem-solvers make good programmers. Just because a SAS® program is free of errors, warnings, notes, and bugs does not guarantee that the program is doing what it is supposed to do. This tutorial addresses the process that follows debugging: program validation. It covers techniques for ensuring that the logic and intent of the program is correct, that the requirements and design specifications are met, and that data errors are detected. It also discusses fundamental SAS program design issues that give purpose and structure to your programming approach. This paper will address: the definitions of verification, validation, testing, and debugging, as well as the structure of the Software Development Life Cycle (SDLC). It will illustrate how the SAS system can be used to help satisfy the requirements of your SDLC and accomplish the tasks of verification and validation. Since as much as 80% of a programmer’s time is invested in testing and validation, it’s important to focus on tools that facilitate correction of syntax, data, and logic errors in SAS programs. The presentation focuses on wide variety of SAS features, tips, techniques, tricks, and system tools that can become part of your routine testing methodology.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Program Debugging and Validation Using Semantic Approximations and Partial Specifications

The technique of Abstract Interpretation [11] has allowed the development of sophisticated program analyses which are provably correct and practical. The semantic approximations produced by such analyses have been traditionally applied to optimization during program compilation. However, recently, novel and promising applications of semantic approximations have been proposed in the more general...

متن کامل

Using Global Analysis, Partial Speciications, and an Extensible Assertion Language for Program Validation and Debugging

We present a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is rst performed statically by comparing (partial) speciications written in terms of assertions against information obtained from static analysis of the program. The results...

متن کامل

Using Semantic Approximations in Validation and Diagnosis of Constraint Logic Programs

During program development and debugging, several tools may be used which deal with (approximations of the) program semantics in one way or the other. Examples of such tools are automatic validation tools, declarative debuggers, program analyzers, etc. These tools also have in common that the semantics of the current program and the semantics of the intended program are often compared. In this ...

متن کامل

Specifications, and an Extensible Assertion Language for Program Validation and Debugging

Abs t r ac t . We present a framework for the application of abstract interpretation as an aid during program development, rather than in the more traditional application of program optimization. Program validation and detection of errors is first performed statically by comparing (partial) specifications written in terms of assertions against information obtained from static analysis of the pr...

متن کامل

Combining Functional And Performance Debugging Of Parallel And Distributed Systems Based On Model-driven Monitoring

In order to program parallel and distributed systems efficiently, a systematic way of defining and understanding the complex behavior of process interactions in concurrent programs is needed. A proven method for understanding existing programs is event-driven monitoring which abstracts the program behavior to a sequence of events. These event traces are analyzed for debugging and tuning of the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003